package com.zyx.pojo;

import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;

public class AutoExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public AutoExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        protected void addCriterionForJDBCDate(String condition, Date value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value.getTime()), property);
        }

        protected void addCriterionForJDBCDate(String condition, List<Date> values, String property) {
            if (values == null || values.size() == 0) {
                throw new RuntimeException("Value list for " + property + " cannot be null or empty");
            }
            List<java.sql.Date> dateList = new ArrayList<java.sql.Date>();
            Iterator<Date> iter = values.iterator();
            while (iter.hasNext()) {
                dateList.add(new java.sql.Date(iter.next().getTime()));
            }
            addCriterion(condition, dateList, property);
        }

        protected void addCriterionForJDBCDate(String condition, Date value1, Date value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value1.getTime()), new java.sql.Date(value2.getTime()), property);
        }

        public Criteria andAutoIdIsNull() {
            addCriterion("autoId is null");
            return (Criteria) this;
        }

        public Criteria andAutoIdIsNotNull() {
            addCriterion("autoId is not null");
            return (Criteria) this;
        }

        public Criteria andAutoIdEqualTo(Integer value) {
            addCriterion("autoId =", value, "autoId");
            return (Criteria) this;
        }

        public Criteria andAutoIdNotEqualTo(Integer value) {
            addCriterion("autoId <>", value, "autoId");
            return (Criteria) this;
        }

        public Criteria andAutoIdGreaterThan(Integer value) {
            addCriterion("autoId >", value, "autoId");
            return (Criteria) this;
        }

        public Criteria andAutoIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("autoId >=", value, "autoId");
            return (Criteria) this;
        }

        public Criteria andAutoIdLessThan(Integer value) {
            addCriterion("autoId <", value, "autoId");
            return (Criteria) this;
        }

        public Criteria andAutoIdLessThanOrEqualTo(Integer value) {
            addCriterion("autoId <=", value, "autoId");
            return (Criteria) this;
        }

        public Criteria andAutoIdIn(List<Integer> values) {
            addCriterion("autoId in", values, "autoId");
            return (Criteria) this;
        }

        public Criteria andAutoIdNotIn(List<Integer> values) {
            addCriterion("autoId not in", values, "autoId");
            return (Criteria) this;
        }

        public Criteria andAutoIdBetween(Integer value1, Integer value2) {
            addCriterion("autoId between", value1, value2, "autoId");
            return (Criteria) this;
        }

        public Criteria andAutoIdNotBetween(Integer value1, Integer value2) {
            addCriterion("autoId not between", value1, value2, "autoId");
            return (Criteria) this;
        }

        public Criteria andAutoNameIsNull() {
            addCriterion("autoName is null");
            return (Criteria) this;
        }

        public Criteria andAutoNameIsNotNull() {
            addCriterion("autoName is not null");
            return (Criteria) this;
        }

        public Criteria andAutoNameEqualTo(String value) {
            addCriterion("autoName =", value, "autoName");
            return (Criteria) this;
        }

        public Criteria andAutoNameNotEqualTo(String value) {
            addCriterion("autoName <>", value, "autoName");
            return (Criteria) this;
        }

        public Criteria andAutoNameGreaterThan(String value) {
            addCriterion("autoName >", value, "autoName");
            return (Criteria) this;
        }

        public Criteria andAutoNameGreaterThanOrEqualTo(String value) {
            addCriterion("autoName >=", value, "autoName");
            return (Criteria) this;
        }

        public Criteria andAutoNameLessThan(String value) {
            addCriterion("autoName <", value, "autoName");
            return (Criteria) this;
        }

        public Criteria andAutoNameLessThanOrEqualTo(String value) {
            addCriterion("autoName <=", value, "autoName");
            return (Criteria) this;
        }

        public Criteria andAutoNameLike(String value) {
            addCriterion("autoName like", value, "autoName");
            return (Criteria) this;
        }

        public Criteria andAutoNameNotLike(String value) {
            addCriterion("autoName not like", value, "autoName");
            return (Criteria) this;
        }

        public Criteria andAutoNameIn(List<String> values) {
            addCriterion("autoName in", values, "autoName");
            return (Criteria) this;
        }

        public Criteria andAutoNameNotIn(List<String> values) {
            addCriterion("autoName not in", values, "autoName");
            return (Criteria) this;
        }

        public Criteria andAutoNameBetween(String value1, String value2) {
            addCriterion("autoName between", value1, value2, "autoName");
            return (Criteria) this;
        }

        public Criteria andAutoNameNotBetween(String value1, String value2) {
            addCriterion("autoName not between", value1, value2, "autoName");
            return (Criteria) this;
        }

        public Criteria andPriceIsNull() {
            addCriterion("price is null");
            return (Criteria) this;
        }

        public Criteria andPriceIsNotNull() {
            addCriterion("price is not null");
            return (Criteria) this;
        }

        public Criteria andPriceEqualTo(Integer value) {
            addCriterion("price =", value, "price");
            return (Criteria) this;
        }

        public Criteria andPriceNotEqualTo(Integer value) {
            addCriterion("price <>", value, "price");
            return (Criteria) this;
        }

        public Criteria andPriceGreaterThan(Integer value) {
            addCriterion("price >", value, "price");
            return (Criteria) this;
        }

        public Criteria andPriceGreaterThanOrEqualTo(Integer value) {
            addCriterion("price >=", value, "price");
            return (Criteria) this;
        }

        public Criteria andPriceLessThan(Integer value) {
            addCriterion("price <", value, "price");
            return (Criteria) this;
        }

        public Criteria andPriceLessThanOrEqualTo(Integer value) {
            addCriterion("price <=", value, "price");
            return (Criteria) this;
        }

        public Criteria andPriceIn(List<Integer> values) {
            addCriterion("price in", values, "price");
            return (Criteria) this;
        }

        public Criteria andPriceNotIn(List<Integer> values) {
            addCriterion("price not in", values, "price");
            return (Criteria) this;
        }

        public Criteria andPriceBetween(Integer value1, Integer value2) {
            addCriterion("price between", value1, value2, "price");
            return (Criteria) this;
        }

        public Criteria andPriceNotBetween(Integer value1, Integer value2) {
            addCriterion("price not between", value1, value2, "price");
            return (Criteria) this;
        }

        public Criteria andRanIsNull() {
            addCriterion("ran is null");
            return (Criteria) this;
        }

        public Criteria andRanIsNotNull() {
            addCriterion("ran is not null");
            return (Criteria) this;
        }

        public Criteria andRanEqualTo(String value) {
            addCriterion("ran =", value, "ran");
            return (Criteria) this;
        }

        public Criteria andRanNotEqualTo(String value) {
            addCriterion("ran <>", value, "ran");
            return (Criteria) this;
        }

        public Criteria andRanGreaterThan(String value) {
            addCriterion("ran >", value, "ran");
            return (Criteria) this;
        }

        public Criteria andRanGreaterThanOrEqualTo(String value) {
            addCriterion("ran >=", value, "ran");
            return (Criteria) this;
        }

        public Criteria andRanLessThan(String value) {
            addCriterion("ran <", value, "ran");
            return (Criteria) this;
        }

        public Criteria andRanLessThanOrEqualTo(String value) {
            addCriterion("ran <=", value, "ran");
            return (Criteria) this;
        }

        public Criteria andRanLike(String value) {
            addCriterion("ran like", value, "ran");
            return (Criteria) this;
        }

        public Criteria andRanNotLike(String value) {
            addCriterion("ran not like", value, "ran");
            return (Criteria) this;
        }

        public Criteria andRanIn(List<String> values) {
            addCriterion("ran in", values, "ran");
            return (Criteria) this;
        }

        public Criteria andRanNotIn(List<String> values) {
            addCriterion("ran not in", values, "ran");
            return (Criteria) this;
        }

        public Criteria andRanBetween(String value1, String value2) {
            addCriterion("ran between", value1, value2, "ran");
            return (Criteria) this;
        }

        public Criteria andRanNotBetween(String value1, String value2) {
            addCriterion("ran not between", value1, value2, "ran");
            return (Criteria) this;
        }

        public Criteria andEnergyIsNull() {
            addCriterion("energy is null");
            return (Criteria) this;
        }

        public Criteria andEnergyIsNotNull() {
            addCriterion("energy is not null");
            return (Criteria) this;
        }

        public Criteria andEnergyEqualTo(String value) {
            addCriterion("energy =", value, "energy");
            return (Criteria) this;
        }

        public Criteria andEnergyNotEqualTo(String value) {
            addCriterion("energy <>", value, "energy");
            return (Criteria) this;
        }

        public Criteria andEnergyGreaterThan(String value) {
            addCriterion("energy >", value, "energy");
            return (Criteria) this;
        }

        public Criteria andEnergyGreaterThanOrEqualTo(String value) {
            addCriterion("energy >=", value, "energy");
            return (Criteria) this;
        }

        public Criteria andEnergyLessThan(String value) {
            addCriterion("energy <", value, "energy");
            return (Criteria) this;
        }

        public Criteria andEnergyLessThanOrEqualTo(String value) {
            addCriterion("energy <=", value, "energy");
            return (Criteria) this;
        }

        public Criteria andEnergyLike(String value) {
            addCriterion("energy like", value, "energy");
            return (Criteria) this;
        }

        public Criteria andEnergyNotLike(String value) {
            addCriterion("energy not like", value, "energy");
            return (Criteria) this;
        }

        public Criteria andEnergyIn(List<String> values) {
            addCriterion("energy in", values, "energy");
            return (Criteria) this;
        }

        public Criteria andEnergyNotIn(List<String> values) {
            addCriterion("energy not in", values, "energy");
            return (Criteria) this;
        }

        public Criteria andEnergyBetween(String value1, String value2) {
            addCriterion("energy between", value1, value2, "energy");
            return (Criteria) this;
        }

        public Criteria andEnergyNotBetween(String value1, String value2) {
            addCriterion("energy not between", value1, value2, "energy");
            return (Criteria) this;
        }

        public Criteria andModelIsNull() {
            addCriterion("model is null");
            return (Criteria) this;
        }

        public Criteria andModelIsNotNull() {
            addCriterion("model is not null");
            return (Criteria) this;
        }

        public Criteria andModelEqualTo(String value) {
            addCriterion("model =", value, "model");
            return (Criteria) this;
        }

        public Criteria andModelNotEqualTo(String value) {
            addCriterion("model <>", value, "model");
            return (Criteria) this;
        }

        public Criteria andModelGreaterThan(String value) {
            addCriterion("model >", value, "model");
            return (Criteria) this;
        }

        public Criteria andModelGreaterThanOrEqualTo(String value) {
            addCriterion("model >=", value, "model");
            return (Criteria) this;
        }

        public Criteria andModelLessThan(String value) {
            addCriterion("model <", value, "model");
            return (Criteria) this;
        }

        public Criteria andModelLessThanOrEqualTo(String value) {
            addCriterion("model <=", value, "model");
            return (Criteria) this;
        }

        public Criteria andModelLike(String value) {
            addCriterion("model like", value, "model");
            return (Criteria) this;
        }

        public Criteria andModelNotLike(String value) {
            addCriterion("model not like", value, "model");
            return (Criteria) this;
        }

        public Criteria andModelIn(List<String> values) {
            addCriterion("model in", values, "model");
            return (Criteria) this;
        }

        public Criteria andModelNotIn(List<String> values) {
            addCriterion("model not in", values, "model");
            return (Criteria) this;
        }

        public Criteria andModelBetween(String value1, String value2) {
            addCriterion("model between", value1, value2, "model");
            return (Criteria) this;
        }

        public Criteria andModelNotBetween(String value1, String value2) {
            addCriterion("model not between", value1, value2, "model");
            return (Criteria) this;
        }

        public Criteria andFirmIsNull() {
            addCriterion("firm is null");
            return (Criteria) this;
        }

        public Criteria andFirmIsNotNull() {
            addCriterion("firm is not null");
            return (Criteria) this;
        }

        public Criteria andFirmEqualTo(String value) {
            addCriterion("firm =", value, "firm");
            return (Criteria) this;
        }

        public Criteria andFirmNotEqualTo(String value) {
            addCriterion("firm <>", value, "firm");
            return (Criteria) this;
        }

        public Criteria andFirmGreaterThan(String value) {
            addCriterion("firm >", value, "firm");
            return (Criteria) this;
        }

        public Criteria andFirmGreaterThanOrEqualTo(String value) {
            addCriterion("firm >=", value, "firm");
            return (Criteria) this;
        }

        public Criteria andFirmLessThan(String value) {
            addCriterion("firm <", value, "firm");
            return (Criteria) this;
        }

        public Criteria andFirmLessThanOrEqualTo(String value) {
            addCriterion("firm <=", value, "firm");
            return (Criteria) this;
        }

        public Criteria andFirmLike(String value) {
            addCriterion("firm like", value, "firm");
            return (Criteria) this;
        }

        public Criteria andFirmNotLike(String value) {
            addCriterion("firm not like", value, "firm");
            return (Criteria) this;
        }

        public Criteria andFirmIn(List<String> values) {
            addCriterion("firm in", values, "firm");
            return (Criteria) this;
        }

        public Criteria andFirmNotIn(List<String> values) {
            addCriterion("firm not in", values, "firm");
            return (Criteria) this;
        }

        public Criteria andFirmBetween(String value1, String value2) {
            addCriterion("firm between", value1, value2, "firm");
            return (Criteria) this;
        }

        public Criteria andFirmNotBetween(String value1, String value2) {
            addCriterion("firm not between", value1, value2, "firm");
            return (Criteria) this;
        }

        public Criteria andTimeMarketIsNull() {
            addCriterion("timeMarket is null");
            return (Criteria) this;
        }

        public Criteria andTimeMarketIsNotNull() {
            addCriterion("timeMarket is not null");
            return (Criteria) this;
        }

        public Criteria andTimeMarketEqualTo(Date value) {
            addCriterionForJDBCDate("timeMarket =", value, "timeMarket");
            return (Criteria) this;
        }

        public Criteria andTimeMarketNotEqualTo(Date value) {
            addCriterionForJDBCDate("timeMarket <>", value, "timeMarket");
            return (Criteria) this;
        }

        public Criteria andTimeMarketGreaterThan(Date value) {
            addCriterionForJDBCDate("timeMarket >", value, "timeMarket");
            return (Criteria) this;
        }

        public Criteria andTimeMarketGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("timeMarket >=", value, "timeMarket");
            return (Criteria) this;
        }

        public Criteria andTimeMarketLessThan(Date value) {
            addCriterionForJDBCDate("timeMarket <", value, "timeMarket");
            return (Criteria) this;
        }

        public Criteria andTimeMarketLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("timeMarket <=", value, "timeMarket");
            return (Criteria) this;
        }

        public Criteria andTimeMarketIn(List<Date> values) {
            addCriterionForJDBCDate("timeMarket in", values, "timeMarket");
            return (Criteria) this;
        }

        public Criteria andTimeMarketNotIn(List<Date> values) {
            addCriterionForJDBCDate("timeMarket not in", values, "timeMarket");
            return (Criteria) this;
        }

        public Criteria andTimeMarketBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("timeMarket between", value1, value2, "timeMarket");
            return (Criteria) this;
        }

        public Criteria andTimeMarketNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("timeMarket not between", value1, value2, "timeMarket");
            return (Criteria) this;
        }

        public Criteria andEngineIsNull() {
            addCriterion("engine is null");
            return (Criteria) this;
        }

        public Criteria andEngineIsNotNull() {
            addCriterion("engine is not null");
            return (Criteria) this;
        }

        public Criteria andEngineEqualTo(String value) {
            addCriterion("engine =", value, "engine");
            return (Criteria) this;
        }

        public Criteria andEngineNotEqualTo(String value) {
            addCriterion("engine <>", value, "engine");
            return (Criteria) this;
        }

        public Criteria andEngineGreaterThan(String value) {
            addCriterion("engine >", value, "engine");
            return (Criteria) this;
        }

        public Criteria andEngineGreaterThanOrEqualTo(String value) {
            addCriterion("engine >=", value, "engine");
            return (Criteria) this;
        }

        public Criteria andEngineLessThan(String value) {
            addCriterion("engine <", value, "engine");
            return (Criteria) this;
        }

        public Criteria andEngineLessThanOrEqualTo(String value) {
            addCriterion("engine <=", value, "engine");
            return (Criteria) this;
        }

        public Criteria andEngineLike(String value) {
            addCriterion("engine like", value, "engine");
            return (Criteria) this;
        }

        public Criteria andEngineNotLike(String value) {
            addCriterion("engine not like", value, "engine");
            return (Criteria) this;
        }

        public Criteria andEngineIn(List<String> values) {
            addCriterion("engine in", values, "engine");
            return (Criteria) this;
        }

        public Criteria andEngineNotIn(List<String> values) {
            addCriterion("engine not in", values, "engine");
            return (Criteria) this;
        }

        public Criteria andEngineBetween(String value1, String value2) {
            addCriterion("engine between", value1, value2, "engine");
            return (Criteria) this;
        }

        public Criteria andEngineNotBetween(String value1, String value2) {
            addCriterion("engine not between", value1, value2, "engine");
            return (Criteria) this;
        }

        public Criteria andPowerIsNull() {
            addCriterion("power is null");
            return (Criteria) this;
        }

        public Criteria andPowerIsNotNull() {
            addCriterion("power is not null");
            return (Criteria) this;
        }

        public Criteria andPowerEqualTo(String value) {
            addCriterion("power =", value, "power");
            return (Criteria) this;
        }

        public Criteria andPowerNotEqualTo(String value) {
            addCriterion("power <>", value, "power");
            return (Criteria) this;
        }

        public Criteria andPowerGreaterThan(String value) {
            addCriterion("power >", value, "power");
            return (Criteria) this;
        }

        public Criteria andPowerGreaterThanOrEqualTo(String value) {
            addCriterion("power >=", value, "power");
            return (Criteria) this;
        }

        public Criteria andPowerLessThan(String value) {
            addCriterion("power <", value, "power");
            return (Criteria) this;
        }

        public Criteria andPowerLessThanOrEqualTo(String value) {
            addCriterion("power <=", value, "power");
            return (Criteria) this;
        }

        public Criteria andPowerLike(String value) {
            addCriterion("power like", value, "power");
            return (Criteria) this;
        }

        public Criteria andPowerNotLike(String value) {
            addCriterion("power not like", value, "power");
            return (Criteria) this;
        }

        public Criteria andPowerIn(List<String> values) {
            addCriterion("power in", values, "power");
            return (Criteria) this;
        }

        public Criteria andPowerNotIn(List<String> values) {
            addCriterion("power not in", values, "power");
            return (Criteria) this;
        }

        public Criteria andPowerBetween(String value1, String value2) {
            addCriterion("power between", value1, value2, "power");
            return (Criteria) this;
        }

        public Criteria andPowerNotBetween(String value1, String value2) {
            addCriterion("power not between", value1, value2, "power");
            return (Criteria) this;
        }

        public Criteria andGearboxIsNull() {
            addCriterion("gearbox is null");
            return (Criteria) this;
        }

        public Criteria andGearboxIsNotNull() {
            addCriterion("gearbox is not null");
            return (Criteria) this;
        }

        public Criteria andGearboxEqualTo(String value) {
            addCriterion("gearbox =", value, "gearbox");
            return (Criteria) this;
        }

        public Criteria andGearboxNotEqualTo(String value) {
            addCriterion("gearbox <>", value, "gearbox");
            return (Criteria) this;
        }

        public Criteria andGearboxGreaterThan(String value) {
            addCriterion("gearbox >", value, "gearbox");
            return (Criteria) this;
        }

        public Criteria andGearboxGreaterThanOrEqualTo(String value) {
            addCriterion("gearbox >=", value, "gearbox");
            return (Criteria) this;
        }

        public Criteria andGearboxLessThan(String value) {
            addCriterion("gearbox <", value, "gearbox");
            return (Criteria) this;
        }

        public Criteria andGearboxLessThanOrEqualTo(String value) {
            addCriterion("gearbox <=", value, "gearbox");
            return (Criteria) this;
        }

        public Criteria andGearboxLike(String value) {
            addCriterion("gearbox like", value, "gearbox");
            return (Criteria) this;
        }

        public Criteria andGearboxNotLike(String value) {
            addCriterion("gearbox not like", value, "gearbox");
            return (Criteria) this;
        }

        public Criteria andGearboxIn(List<String> values) {
            addCriterion("gearbox in", values, "gearbox");
            return (Criteria) this;
        }

        public Criteria andGearboxNotIn(List<String> values) {
            addCriterion("gearbox not in", values, "gearbox");
            return (Criteria) this;
        }

        public Criteria andGearboxBetween(String value1, String value2) {
            addCriterion("gearbox between", value1, value2, "gearbox");
            return (Criteria) this;
        }

        public Criteria andGearboxNotBetween(String value1, String value2) {
            addCriterion("gearbox not between", value1, value2, "gearbox");
            return (Criteria) this;
        }

        public Criteria andMeasureIsNull() {
            addCriterion("measure is null");
            return (Criteria) this;
        }

        public Criteria andMeasureIsNotNull() {
            addCriterion("measure is not null");
            return (Criteria) this;
        }

        public Criteria andMeasureEqualTo(String value) {
            addCriterion("measure =", value, "measure");
            return (Criteria) this;
        }

        public Criteria andMeasureNotEqualTo(String value) {
            addCriterion("measure <>", value, "measure");
            return (Criteria) this;
        }

        public Criteria andMeasureGreaterThan(String value) {
            addCriterion("measure >", value, "measure");
            return (Criteria) this;
        }

        public Criteria andMeasureGreaterThanOrEqualTo(String value) {
            addCriterion("measure >=", value, "measure");
            return (Criteria) this;
        }

        public Criteria andMeasureLessThan(String value) {
            addCriterion("measure <", value, "measure");
            return (Criteria) this;
        }

        public Criteria andMeasureLessThanOrEqualTo(String value) {
            addCriterion("measure <=", value, "measure");
            return (Criteria) this;
        }

        public Criteria andMeasureLike(String value) {
            addCriterion("measure like", value, "measure");
            return (Criteria) this;
        }

        public Criteria andMeasureNotLike(String value) {
            addCriterion("measure not like", value, "measure");
            return (Criteria) this;
        }

        public Criteria andMeasureIn(List<String> values) {
            addCriterion("measure in", values, "measure");
            return (Criteria) this;
        }

        public Criteria andMeasureNotIn(List<String> values) {
            addCriterion("measure not in", values, "measure");
            return (Criteria) this;
        }

        public Criteria andMeasureBetween(String value1, String value2) {
            addCriterion("measure between", value1, value2, "measure");
            return (Criteria) this;
        }

        public Criteria andMeasureNotBetween(String value1, String value2) {
            addCriterion("measure not between", value1, value2, "measure");
            return (Criteria) this;
        }

        public Criteria andBodyStucIsNull() {
            addCriterion("bodyStuc is null");
            return (Criteria) this;
        }

        public Criteria andBodyStucIsNotNull() {
            addCriterion("bodyStuc is not null");
            return (Criteria) this;
        }

        public Criteria andBodyStucEqualTo(String value) {
            addCriterion("bodyStuc =", value, "bodyStuc");
            return (Criteria) this;
        }

        public Criteria andBodyStucNotEqualTo(String value) {
            addCriterion("bodyStuc <>", value, "bodyStuc");
            return (Criteria) this;
        }

        public Criteria andBodyStucGreaterThan(String value) {
            addCriterion("bodyStuc >", value, "bodyStuc");
            return (Criteria) this;
        }

        public Criteria andBodyStucGreaterThanOrEqualTo(String value) {
            addCriterion("bodyStuc >=", value, "bodyStuc");
            return (Criteria) this;
        }

        public Criteria andBodyStucLessThan(String value) {
            addCriterion("bodyStuc <", value, "bodyStuc");
            return (Criteria) this;
        }

        public Criteria andBodyStucLessThanOrEqualTo(String value) {
            addCriterion("bodyStuc <=", value, "bodyStuc");
            return (Criteria) this;
        }

        public Criteria andBodyStucLike(String value) {
            addCriterion("bodyStuc like", value, "bodyStuc");
            return (Criteria) this;
        }

        public Criteria andBodyStucNotLike(String value) {
            addCriterion("bodyStuc not like", value, "bodyStuc");
            return (Criteria) this;
        }

        public Criteria andBodyStucIn(List<String> values) {
            addCriterion("bodyStuc in", values, "bodyStuc");
            return (Criteria) this;
        }

        public Criteria andBodyStucNotIn(List<String> values) {
            addCriterion("bodyStuc not in", values, "bodyStuc");
            return (Criteria) this;
        }

        public Criteria andBodyStucBetween(String value1, String value2) {
            addCriterion("bodyStuc between", value1, value2, "bodyStuc");
            return (Criteria) this;
        }

        public Criteria andBodyStucNotBetween(String value1, String value2) {
            addCriterion("bodyStuc not between", value1, value2, "bodyStuc");
            return (Criteria) this;
        }

        public Criteria andKmIsNull() {
            addCriterion("km is null");
            return (Criteria) this;
        }

        public Criteria andKmIsNotNull() {
            addCriterion("km is not null");
            return (Criteria) this;
        }

        public Criteria andKmEqualTo(Integer value) {
            addCriterion("km =", value, "km");
            return (Criteria) this;
        }

        public Criteria andKmNotEqualTo(Integer value) {
            addCriterion("km <>", value, "km");
            return (Criteria) this;
        }

        public Criteria andKmGreaterThan(Integer value) {
            addCriterion("km >", value, "km");
            return (Criteria) this;
        }

        public Criteria andKmGreaterThanOrEqualTo(Integer value) {
            addCriterion("km >=", value, "km");
            return (Criteria) this;
        }

        public Criteria andKmLessThan(Integer value) {
            addCriterion("km <", value, "km");
            return (Criteria) this;
        }

        public Criteria andKmLessThanOrEqualTo(Integer value) {
            addCriterion("km <=", value, "km");
            return (Criteria) this;
        }

        public Criteria andKmIn(List<Integer> values) {
            addCriterion("km in", values, "km");
            return (Criteria) this;
        }

        public Criteria andKmNotIn(List<Integer> values) {
            addCriterion("km not in", values, "km");
            return (Criteria) this;
        }

        public Criteria andKmBetween(Integer value1, Integer value2) {
            addCriterion("km between", value1, value2, "km");
            return (Criteria) this;
        }

        public Criteria andKmNotBetween(Integer value1, Integer value2) {
            addCriterion("km not between", value1, value2, "km");
            return (Criteria) this;
        }

        public Criteria andTermIsNull() {
            addCriterion("term is null");
            return (Criteria) this;
        }

        public Criteria andTermIsNotNull() {
            addCriterion("term is not null");
            return (Criteria) this;
        }

        public Criteria andTermEqualTo(String value) {
            addCriterion("term =", value, "term");
            return (Criteria) this;
        }

        public Criteria andTermNotEqualTo(String value) {
            addCriterion("term <>", value, "term");
            return (Criteria) this;
        }

        public Criteria andTermGreaterThan(String value) {
            addCriterion("term >", value, "term");
            return (Criteria) this;
        }

        public Criteria andTermGreaterThanOrEqualTo(String value) {
            addCriterion("term >=", value, "term");
            return (Criteria) this;
        }

        public Criteria andTermLessThan(String value) {
            addCriterion("term <", value, "term");
            return (Criteria) this;
        }

        public Criteria andTermLessThanOrEqualTo(String value) {
            addCriterion("term <=", value, "term");
            return (Criteria) this;
        }

        public Criteria andTermLike(String value) {
            addCriterion("term like", value, "term");
            return (Criteria) this;
        }

        public Criteria andTermNotLike(String value) {
            addCriterion("term not like", value, "term");
            return (Criteria) this;
        }

        public Criteria andTermIn(List<String> values) {
            addCriterion("term in", values, "term");
            return (Criteria) this;
        }

        public Criteria andTermNotIn(List<String> values) {
            addCriterion("term not in", values, "term");
            return (Criteria) this;
        }

        public Criteria andTermBetween(String value1, String value2) {
            addCriterion("term between", value1, value2, "term");
            return (Criteria) this;
        }

        public Criteria andTermNotBetween(String value1, String value2) {
            addCriterion("term not between", value1, value2, "term");
            return (Criteria) this;
        }

        public Criteria andUsedIsNull() {
            addCriterion("used is null");
            return (Criteria) this;
        }

        public Criteria andUsedIsNotNull() {
            addCriterion("used is not null");
            return (Criteria) this;
        }

        public Criteria andUsedEqualTo(Integer value) {
            addCriterion("used =", value, "used");
            return (Criteria) this;
        }

        public Criteria andUsedNotEqualTo(Integer value) {
            addCriterion("used <>", value, "used");
            return (Criteria) this;
        }

        public Criteria andUsedGreaterThan(Integer value) {
            addCriterion("used >", value, "used");
            return (Criteria) this;
        }

        public Criteria andUsedGreaterThanOrEqualTo(Integer value) {
            addCriterion("used >=", value, "used");
            return (Criteria) this;
        }

        public Criteria andUsedLessThan(Integer value) {
            addCriterion("used <", value, "used");
            return (Criteria) this;
        }

        public Criteria andUsedLessThanOrEqualTo(Integer value) {
            addCriterion("used <=", value, "used");
            return (Criteria) this;
        }

        public Criteria andUsedIn(List<Integer> values) {
            addCriterion("used in", values, "used");
            return (Criteria) this;
        }

        public Criteria andUsedNotIn(List<Integer> values) {
            addCriterion("used not in", values, "used");
            return (Criteria) this;
        }

        public Criteria andUsedBetween(Integer value1, Integer value2) {
            addCriterion("used between", value1, value2, "used");
            return (Criteria) this;
        }

        public Criteria andUsedNotBetween(Integer value1, Integer value2) {
            addCriterion("used not between", value1, value2, "used");
            return (Criteria) this;
        }

        public Criteria andUtilityTimeIsNull() {
            addCriterion("utilityTime is null");
            return (Criteria) this;
        }

        public Criteria andUtilityTimeIsNotNull() {
            addCriterion("utilityTime is not null");
            return (Criteria) this;
        }

        public Criteria andUtilityTimeEqualTo(Integer value) {
            addCriterion("utilityTime =", value, "utilityTime");
            return (Criteria) this;
        }

        public Criteria andUtilityTimeNotEqualTo(Integer value) {
            addCriterion("utilityTime <>", value, "utilityTime");
            return (Criteria) this;
        }

        public Criteria andUtilityTimeGreaterThan(Integer value) {
            addCriterion("utilityTime >", value, "utilityTime");
            return (Criteria) this;
        }

        public Criteria andUtilityTimeGreaterThanOrEqualTo(Integer value) {
            addCriterion("utilityTime >=", value, "utilityTime");
            return (Criteria) this;
        }

        public Criteria andUtilityTimeLessThan(Integer value) {
            addCriterion("utilityTime <", value, "utilityTime");
            return (Criteria) this;
        }

        public Criteria andUtilityTimeLessThanOrEqualTo(Integer value) {
            addCriterion("utilityTime <=", value, "utilityTime");
            return (Criteria) this;
        }

        public Criteria andUtilityTimeIn(List<Integer> values) {
            addCriterion("utilityTime in", values, "utilityTime");
            return (Criteria) this;
        }

        public Criteria andUtilityTimeNotIn(List<Integer> values) {
            addCriterion("utilityTime not in", values, "utilityTime");
            return (Criteria) this;
        }

        public Criteria andUtilityTimeBetween(Integer value1, Integer value2) {
            addCriterion("utilityTime between", value1, value2, "utilityTime");
            return (Criteria) this;
        }

        public Criteria andUtilityTimeNotBetween(Integer value1, Integer value2) {
            addCriterion("utilityTime not between", value1, value2, "utilityTime");
            return (Criteria) this;
        }

        public Criteria andMileageIsNull() {
            addCriterion("mileage is null");
            return (Criteria) this;
        }

        public Criteria andMileageIsNotNull() {
            addCriterion("mileage is not null");
            return (Criteria) this;
        }

        public Criteria andMileageEqualTo(Integer value) {
            addCriterion("mileage =", value, "mileage");
            return (Criteria) this;
        }

        public Criteria andMileageNotEqualTo(Integer value) {
            addCriterion("mileage <>", value, "mileage");
            return (Criteria) this;
        }

        public Criteria andMileageGreaterThan(Integer value) {
            addCriterion("mileage >", value, "mileage");
            return (Criteria) this;
        }

        public Criteria andMileageGreaterThanOrEqualTo(Integer value) {
            addCriterion("mileage >=", value, "mileage");
            return (Criteria) this;
        }

        public Criteria andMileageLessThan(Integer value) {
            addCriterion("mileage <", value, "mileage");
            return (Criteria) this;
        }

        public Criteria andMileageLessThanOrEqualTo(Integer value) {
            addCriterion("mileage <=", value, "mileage");
            return (Criteria) this;
        }

        public Criteria andMileageIn(List<Integer> values) {
            addCriterion("mileage in", values, "mileage");
            return (Criteria) this;
        }

        public Criteria andMileageNotIn(List<Integer> values) {
            addCriterion("mileage not in", values, "mileage");
            return (Criteria) this;
        }

        public Criteria andMileageBetween(Integer value1, Integer value2) {
            addCriterion("mileage between", value1, value2, "mileage");
            return (Criteria) this;
        }

        public Criteria andMileageNotBetween(Integer value1, Integer value2) {
            addCriterion("mileage not between", value1, value2, "mileage");
            return (Criteria) this;
        }

        public Criteria andPictureIsNull() {
            addCriterion("picture is null");
            return (Criteria) this;
        }

        public Criteria andPictureIsNotNull() {
            addCriterion("picture is not null");
            return (Criteria) this;
        }

        public Criteria andPictureEqualTo(String value) {
            addCriterion("picture =", value, "picture");
            return (Criteria) this;
        }

        public Criteria andPictureNotEqualTo(String value) {
            addCriterion("picture <>", value, "picture");
            return (Criteria) this;
        }

        public Criteria andPictureGreaterThan(String value) {
            addCriterion("picture >", value, "picture");
            return (Criteria) this;
        }

        public Criteria andPictureGreaterThanOrEqualTo(String value) {
            addCriterion("picture >=", value, "picture");
            return (Criteria) this;
        }

        public Criteria andPictureLessThan(String value) {
            addCriterion("picture <", value, "picture");
            return (Criteria) this;
        }

        public Criteria andPictureLessThanOrEqualTo(String value) {
            addCriterion("picture <=", value, "picture");
            return (Criteria) this;
        }

        public Criteria andPictureLike(String value) {
            addCriterion("picture like", value, "picture");
            return (Criteria) this;
        }

        public Criteria andPictureNotLike(String value) {
            addCriterion("picture not like", value, "picture");
            return (Criteria) this;
        }

        public Criteria andPictureIn(List<String> values) {
            addCriterion("picture in", values, "picture");
            return (Criteria) this;
        }

        public Criteria andPictureNotIn(List<String> values) {
            addCriterion("picture not in", values, "picture");
            return (Criteria) this;
        }

        public Criteria andPictureBetween(String value1, String value2) {
            addCriterion("picture between", value1, value2, "picture");
            return (Criteria) this;
        }

        public Criteria andPictureNotBetween(String value1, String value2) {
            addCriterion("picture not between", value1, value2, "picture");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}